package com.yang.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
 
@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfiguration {
 
    // 某个端口的测试文档
    //@Bean(value = "demoDocket1")
    public Docket studentDocket() {
        Docket docket=new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        .title("测试demo1接口文档")		// 设置当前文档的标题
                        .description("用于测试demo1的所有接口的文档")		//自定义文档简介
                        .termsOfServiceUrl("写人员的服务地址URL")	//写这个模块功能的程序员相关的URL
                        .contact("写人员的联系方式(邮箱)")		//写这个模块功能的程序员的email邮箱
                        .version("1.0")	//指定当前文档的版本
                        .build())
                //分组名称
                .groupName("demo1")		//设置当前组名称
                .select()
                //这里指定Controller扫描包路径，"com.example.controller.student"是一个放Controller的包
                .apis(RequestHandlerSelectors.basePackage("com.example.controller.student"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }
 
	// Teacher组的测试文档
    //@Bean(value = "demoDocket2")
    public Docket demoDocket2() {
        Docket docket=new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        .title("demo2接口文档")
                        .description("用于测试demo2所有接口的文档")
                        .termsOfServiceUrl("写人员的服务地址URL")
                        .contact("写人员的联系方式(邮箱)")
                        .version("1.0")
                        .build())
                //分组名称
                .groupName("demo2")
                .select()
                //这里指定Controller扫描包路径
                .apis(RequestHandlerSelectors.basePackage("com.example.controller.teacher"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }
}